Alter sequence
· 1 мин. чтения
Обычно в Postgre последовательности (sequence) обновляются естественно, но как и в случае с дупликатами, порой иногда хочется одним запросом восстановить правильный максимум .. Сначала я подумал что сработает обычный под-запрос типа
ALTER SEQUENCE sysusers_id_seq RESTART SELECT MAX(id)+1 FROM sysusers ;
Но как оказалось, последовательности обновлять можно либо статичным рестартом, либо такой функцией..
SELECT setval('sysusers_id_seq', (select max(id)+1 from sysusers))+1;
Теперь можно просто продублировать этот запрос для разных таблиц и последовательностей и беззаботно продолжать работу..